$(function () {
//    加载layui的模块
    layui.use(['upload', 'form', 'table', 'jquery', 'laydate', 'layer'], function () {
        let form = layui.form;
        let table = layui.table;
        let jquery = layui.jquery;
        let laydate = layui.laydate;
        let layer = layui.layer;
        let upload = layui.upload;
        // 得到菜系内容，并对下拉菜单进行赋值
        let cuisineRes = myAjax("/back/cuisine/findAll", {isShow: 1}, 'get');
        //调用赋值菜系的方法

        setCuisineData(cuisineRes.data);

        //给菜系的下拉菜单赋值
        function setCuisineData(data) {
            console.log(data);
            let html = '<option value="">请选择菜系</option>';
            // let data = cuisineRes.data;
            for (let i = 0; i < data.length; i++) {
                html += '<option value="' + data[i].id + '">' + data[i].name + '</option>';
            }
            $("#cuisine").html(html);
            form.render();//刷新表单：一般用于赋值时没有数据更新
        }

        const E = window.wangEditor;
        const editor = new E('#content');
        const editUrl = '/upload';//服务器访问地址
        editor.customConfig.uploadImgShowBase64 = true;  // 使用 base64 保存图片
        editor.customConfig.uploadImgServer = editUrl; // 上传图片到服务器
        editor.customConfig.showLinkImg = false;// 隐藏“网络图片”tab
        //配置属性名称，绑定请求的图片数据
        editor.customConfig.uploadFileName = 'wangEditorUrl';
        editor.customConfig.withCredentials = true;
        editor.customConfig.menus = [
            'head',  // 标题
            'bold',  // 粗体
            'fontSize',  // 字号
            'fontName',  // 字体
            'italic',  // 斜体
            'underline',  // 下划线
            'strikeThrough',  // 删除线
            'foreColor',  // 文字颜色//
            'backColor',  // 背景颜色
            'link',  // 插入链接
            'justify',  // 对齐方式
            'emoticon',  // 表情
            'image',  // 插入图片
            'table',  // 表格
            'undo',  // 撤销
            'redo'  // 重复
        ];
        // 将图片大小限制为 5M
        editor.customConfig.uploadImgMaxSize = 5 * 1024 * 1024;
        editor.customConfig.uploadImgHooks = {

            success: function (xhr, editor, result) {
                // 图片上传并返回结果，图片插入成功之后触发
                // xhr 是 XMLHttpRequst 对象，editor 是编辑器对象，result 是服务器端返回的结果
                console.log(result);
            },
            // 如果服务器端返回的不是 {errno:0, data: [...]} 这种格式，可使用该配置
            // （但是，服务器端返回的必须是一个 JSON 格式字符串！！！否则会报错）
            customInsert: function (insertImg, result, editor) {
                // 图片上传并返回结果，自定义插入图片的事件（而不是编辑器自动插入图片！！！）
                // insertImg 是插入图片的函数，editor 是编辑器对象，result 是服务器端返回的结果

                // 举例：假如上传图片成功后，服务器端返回的是 {url:'....'} 这种格式，即可这样插入图片：
                let url = result.data.src;
                console.log(url);
                insertImg(url)//回显到富文本里面
                // result 必须是一个 JSON 格式字符串！！！否则报错
            }
        };

        //富文本创建
        editor.create();
        let imgHref = "";
        //常规使用 - 普通图片上传
        var uploadInst = upload.render({
            elem: '#test1'
            , url: '/upload' //此处用的是第三方的 http 请求演示，实际使用时改成您自己的上传接口即可。
            , before: function (obj) {
                //预读本地文件示例，不支持ie8
                obj.preview(function (index, file, result) {
                    $('#demo1').attr('src', result); //图片链接（base64）
                });
            }
            , done: function (res) {
                console.log(res);
                imgHref = res.data.src;
                //如果上传失败
                // if (res.code > 0) {
                //     return layer.msg('上传失败');
                // }
                //上传成功的一些操作
                //……
                // $('#demoText').html(''); //置空上传失败的状态
            }
            , error: function (res) {
                console.log(res)
                //演示失败状态，并实现重传

            }
        });
        //自定义验证规则
        form.verify({
            name: [/^[\u4e00-\u9fa5]{2,10}$/, '产品名称只能为2到10个字符']
            , marketPrice: [
                /^[0-9]{1,4}.?[0-9]{0,2}$/
                , '价格只能是整数或者小数0到9999.99'
            ]
        });
        //提交事件
        form.on('submit(add)', function (data) {
            data = data.field;
            data.imgHref = imgHref;
            data.content=editor.txt.html();//得到富文本编辑器里面的html代码
            console.log(data);
            let res = myAjax("/back/product/add", data, 'post');
            if (res.count > 0) {
                layer.alert("新增成功", {icon: 6}, function () {
                    //关闭当前frame
                    xadmin.close();
                    // 可以对父窗口进行刷新
                    xadmin.father_reload();
                });
            } else {
                layer.alert("新增失败");
            }
            return false;
        });

    })
})